﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AdmLaboratorios.DTO;
using AdmLaboratorios.Business;
using AdmLaboratorios.Business.Entities;

namespace AdmLaboratorios
{
    public partial class frmUsuarioPerfilDialog : Form
    {
        List<PerfilDTO> perfiles = new List<PerfilDTO>();

        public frmUsuarioPerfilDialog()
        {
            InitializeComponent();
        }

        internal void SetUser(UsuarioPerfiles usuario)
        {
            perfiles = Seguridad.Perfiles();
            lblUser.Text = usuario.Usuario; // +" [" + BusinessHelper.Institucion.Nombre + "]";


            lstPerfiles.Items.Clear();
            foreach (PerfilDTO perfil in perfiles)
            {
                lstPerfiles.Items.Add(perfil.Nombre, false);
            }

             

            //Seguridad.PerfilesByUsuario(usuario.) 

            foreach (PerfilDTO perfil in usuario.PerfilesLst) //BusinessHelper.Usuario.Perfiles) // .PerfilesByUsuarioInstitucion(usuario.Id, BusinessHelper.Institucion.Id))
            {
                lstPerfiles.SetItemChecked(lstPerfiles.FindStringExact(perfil.Nombre), true);
            }
        }

        private void frmUsuarioPerfil_Load(object sender, EventArgs e)
        {
        }

        private void btnCerrar_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }

        public List<PerfilDTO> GetPerfilesSeleccionados()
        {
            List<PerfilDTO> aux = new List<PerfilDTO>();

            foreach (var item in lstPerfiles.CheckedIndices)
            {

                aux.Add(perfiles[(int)item]);
            }

            return aux;
        }
    }
}
